home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / lib / X11 / Help.risk < prev    next >
Text File  |  1995-07-05  |  14KB  |  337 lines

  1. %About Frisk and its author
  2. Frisk was designed and written by Elan Feingold in 1994.  That's me.
  3. I got bored during the Christmas break of my senior year and
  4. designed Frisk, on paper, since I didn't have any hardware with me.
  5. Upon returning to school, I spent about three months working on it,
  6. between classes and general beer drinking, before getting a playable
  7. version.
  8.  
  9. Since then I graduated from Cornell with a BS in Computer Science
  10. (what else?), and am now working for Digital Equipment Corporation
  11. on their DECladebug debugger.
  12.  
  13. Frisk stands for Free Risk or Feingold Risk, depending on whether I'm
  14. feeling philanthropical or egotistical.  It is based on the Parker
  15. Brothers classic game, and I assume that they hold all the rights to
  16. the game.  If you people are reading this, please don't sue me...
  17.  
  18. Frisk is my programming magnum opus in many respects.  It is the first
  19. full-length Xt/Xaw program I have written, and also the first to use
  20. UNIX network primitives.  Because of this, I am sure that in some
  21. places my code will be non-optimal.  I would greatly
  22. appreciate feedback on it, either in the form of suggestions for
  23. improvements, or "Man, your code sucks..." (although the latter might
  24. cause psychological damage).
  25. %%
  26.  
  27. %Acknowledgements
  28. I wish to express my profound gratitude to the following people,
  29. without whom Frisk could have never come into existence:
  30.  
  31. - Kirsten Mecklenburg:  For her love and understanding.  It isn't easy
  32. to be the girlfriend of a CS major.  I'll be the first to recognize
  33. that.  Thanks for being there (and for the coconut macaroons)!
  34.  
  35. - Will Kling:  For hiring me and being infinitely helpful during my
  36. migration up to NH.  He actually inspired me to write the game, since I
  37. thought he and my other future co-workers would need a fun network game to
  38. increase productivity.
  39.  
  40. - Robert Watts:     For his infinite patience in play-testing Frisk.
  41. Even though he had nasty Quantum problem sets due, he would never
  42. refuse a good game of Frisk.  Also for the acoustic versions of Layla
  43. while I programmed.  Music calms the savage CS major.
  44.  
  45. - Michael Plochocki:  For being my token Macintosh user friend.
  46. His general ineptness with user interfaces helped me improve the ergonomics
  47. and user-friendliness of Frisk.  But seriously, his invaluable suggestions
  48. helped mold Frisk into the game that it is.  Thanks also for the late night
  49. chats about politics, religion, and of course, girls.
  50.  
  51. - Darrin Edelman:  For his encouragement and suggestions.  If he had
  52. been living here instead of working for IBM like the loser that he is,
  53. I'm sure he would have been a great help to the project.  Here's to keeping
  54. in touch after college.
  55.  
  56. - Philip Soo:  For letting me drag him in to see the latest
  57. improvements in the game.  Phil has a knack for crashing anything in
  58. very little time.  You can be assured that this program is Phil-proof.
  59.  
  60. - Steve Thompson:  For his feedback, and for hiring me to work in his
  61. lab, which gave me access to all sorts of platforms to test Frisk on.
  62. For his sense of humor, even though the HP's were down more than they
  63. were up.
  64. %%
  65.  
  66. %Credits
  67. This section holds all of the people who have submitted bug reports
  68. and new features for Frisk, along with people who have contributed in
  69. other ways (new ports, suggestions, etc.)  It may not be exactly up
  70. to date, so if you submitted a report and don't see your name on here,
  71. don't panic.
  72.  
  73. - Port to HPUX: Richard Lloyd
  74.  
  75. - Port to SunOS/Solaris: Michael Davies, Matthew D. Stock
  76.  
  77. - Port to AIX: Miguel Alvarez Blanco
  78.  
  79. - Bug reports, testing, encouragement, help: David La Croix, CyberDrunk,
  80. Bruno Levy, Sam Louken, Al Longyear, Miguel Alvarez Blanco, Matthew D. Stock
  81. (thanks for the patch and the suggestions!), Andy Tefft, Bob Willmot,
  82. Martin Schulze, Charles Henrich, Glenn Rysko, John Kilburg, Michael Davies,
  83. Nicolaus Christiaan Thirion, Tom Tromey, Jeffrey David Cohen,
  84. Martin Wunderli, Mark Phillips, Robert Seals (thanks for all the help!),
  85. Craig Humphrey, Dave Lemke, Mario Antonioletti, Erik deRomph, Joel Fine,
  86. Bart Massey, Rick Niles, Davin Milun, James J Richmond, Joshua R. Poulson,
  87. Darin Johnson, Andrew R. Tefft, Clayton Haapala, Sydnor Francis,
  88. Ken DeMerchant, Bob Tanner, Marco Choi.
  89.  
  90. %%
  91.  
  92. %Development Platform
  93. Frisk was written on an i386SX/16, with 8 Mb of memory, running Linux.  
  94. The only thing saving me from insanity was my S3 video card,
  95. which made X quite usable.  Having another 8 Mb of memory would have
  96. been great too, except that my motherboard only supports 8Mb!
  97. %%
  98.  
  99. %Reaching the Author
  100. I can be reached via e-mail as feingold@zko.dec.com, and via
  101. snail-mail as:
  102.  
  103.     Elan Feingold
  104.     24 Newcastle Dr. #10
  105.     Nashua, NH 03060
  106.  
  107. Send me a postcard if you like!
  108. %%
  109.  
  110. %Copyright
  111. The source code is Copyright (c) Elan Feingold 1993-1995.  You may use it,
  112. abuse it, or improve it, under the following, vernacular conditions (the
  113. official sounding copyright notice appears at the top of all of the
  114. source files and at the bottom of this help item):  
  115.  
  116.     (1) You leave the Copyright notice intact on the source files.  
  117.  
  118.     (2) You credit me for any of my code that you use for any purpose.  
  119.     
  120.     (3) You not release altered versions of Frisk in any form.  
  121.     
  122.     (4) You don't use any of my code in any for-profit venture, without 
  123.     my explicit permission.
  124.  
  125. Frisk is released as Poor-Engineer-ware.  That means that the program is
  126. free, but if you like it you are welcome to send me cookies, money, or
  127. other donations that might improve my engineering career.  If anyone has
  128. a spare Porsche 928, I could use it.  Beer is fine, too.  This is the
  129. Copyright notice that appears in each of the source files:
  130.  
  131. PERMISSION TO USE, COPY, MODIFY, AND TO DISTRIBUTE THIS SOFTWARE 
  132. AND ITS DOCUMENTATION FOR ANY PURPOSE IS HEREBY GRANTED WITHOUT
  133. FEE, PROVIDED THAT THE ABOVE COPYRIGHT NOTICE APPEAR IN 
  134. ALL COPIES AND MODIFIED COPIES AND THAT BOTH THAT COPYRIGHT 
  135. NOTICE AND THIS PERMISSION NOTICE APPEAR IN SUPPORTING 
  136. DOCUMENTATION.  THERE IS NO REPRESENTATIONS ABOUT THE 
  137. SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE 
  138. IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. 
  139. %%
  140.  
  141. %Interface Notes
  142. There are two message boxes where messages can appear, notifying you
  143. of some event or error.  These two long rectangular boxes are located
  144. above and below the row of buttons.  The upper box normally holds
  145. comments related to what you are doing, i.e. what country you have
  146. selected, or what you are expected to type into a pop-up box.  The
  147. lower box generally holds error messages, although it can also contain
  148. informative messages, too.
  149.  
  150. The number of attack die, as well as the default attack style (Single
  151. or Do-or-Die) is saved for each player, and restored when the player
  152. starts his or her next turn.
  153. %%
  154.  
  155. %The Game
  156. The rules of Frisk are identical to the rules of Parker Brother's Risk
  157. game.  The style of the game defaults to the server selecting the
  158. initial allocation of countries, and card exchanges being performed on
  159. a static basic (i.e. 3 different cards = 10 armies, 3 cavalry = 8
  160. armies, 3 infantry = 6 armies, and 3 artillery = 4 armies).  In this
  161. version, this is the only style of game supported.
  162.  
  163. If you are not familiar with the rules of Risk, you are advised to
  164. learn them from another source, as this help does not attempt to fully
  165. explain all of the nuances of these.
  166. %%
  167.  
  168. %  Registering Players
  169. Before beginning the game, you must register players with the Frisk
  170. server.  You do this by typing a name and a color for the player, and
  171. then clicking on "Register Player."  The color can by anyone
  172. recognized by the X11 server, which comprise the colors listed in
  173. rgb.txt, normally located in /usr/lib/X11.  All normal colors are
  174. there, i.e. yellow, green, pink, orange, along with some rather
  175. interesting others, such as gold, forest green, turquoise, and others.
  176. For most colors, a digit from 1 to 4 can be appended to the color name
  177. to generate successively darker tones of the color.
  178.  
  179. At this time, if the game is being played over the network, other
  180. players may register simultaneously.  Is the case that a player
  181. registers from a remote computer, the server will send all clients a
  182. message informing of this.
  183.  
  184. When you are done registering players, click on "End Registration."
  185. At this point, if there are a total of two or more players, and all
  186. other clients have finished registering, play will commence.  If all
  187. clients finish registering and the total number of players is less
  188. than two, the game will not be able to start, and the registration
  189. will have to begin again, after each client exits and restarts.
  190. %%
  191.  
  192. %  Reinforcing Countries
  193. You may reinforce a country by clicking on the country that you wish
  194. to place an army on.  In styles of games that support reinforcing
  195. countries, reinforcing is staggered between players, with each player
  196. being able to reinforce one country with one army in one turn.
  197. %%
  198.  
  199. %  Placing Armies
  200. To place an single army, click the left mouse button on the country
  201. that you wish to place the army on.  To place multiple armies, instead
  202. click on the country with the right mouse button, and a dialog will
  203. pop up asking you to specify how many armies to place.  The text
  204. widget grabs the keyboard, so that you need not move the mouse to the
  205. dialog, and if the default number of armies is to your satisfaction,
  206. you need only hit <Enter>.  To place your all armies on a country, press the
  207. middle mouse button when you are on the country (the middle mouse button
  208. is usually emulated by pressing both mouse buttons on a two-button mouse).
  209. %%
  210.  
  211. %  Attacking
  212. First click on the country to attack from, and then click on the
  213. country you wish to attack.  The appropriate error messages for either
  214. of these two country selections will appear in the lower message box.
  215. If the country you have selected to attack from is valid, the text
  216. containing the number of armies in the country will light up.  If your
  217. attack removes all of the enemy armies from the country you are
  218. attacking, you will be prompted with a dialog asking you how many
  219. armies to move into the country.
  220.  
  221. If you wish to cancel an attack, you may click on "Cancel Action."  If
  222. you had selected a country to attack from, this will be unselected.
  223. %%
  224.  
  225. %  Moving Armies
  226. First click on the country you wish to move armies from, and then
  227. click on the country you wish to move them to.  If the source and
  228. destination countries are valid, a dialog will be presented to you, in
  229. which you can enter the number of armies to move.  If you decide that
  230. you want to do more attacking, simply click on one of the attack
  231. actions and if you haven't moved armies, you can continue to attack.
  232.  
  233. Once you have completed a valid move, your turn is ended, and Frisk
  234. notifies the server and the next player is now allowed to go.
  235. %%
  236.  
  237. %  Attack Die
  238. This parameter is set by selecting an entry in the list-box in the
  239. lower left hand corner of the screen.  If you select "Auto," then the
  240. maximum number of dice will be used.
  241. %%
  242.  
  243. %  Action
  244. This list-box, to the right of the Attack Die list-box, serves to select
  245. the action that you wish to perform.  Appropriate error messages will
  246. be issued if you try to enter into illegal actions.
  247. %%
  248.  
  249. %    Place Armies
  250. Upon beginning your turn, this is the state that Frisk enters.  You
  251. will remain in this state until you finish placing all of your armies.
  252. %%
  253.  
  254. %    Single Attack
  255. This state specifies that when you select a source and destination
  256. country, only one attack is to be performed.  You may repeat the
  257. attack by clicking on "Repeat Attack."
  258. %%
  259.  
  260. %    Do-or-Die Attack
  261. If you select this attack mode, then when you specify a valid attack, the
  262. computer will continue to attack until the territory has been conquered, or
  263. you don't have enough armies to continue attacking.  N.B.  There is no way
  264. to stop the attack once you have initiated it!
  265. %%
  266.  
  267. %    Free Move
  268. This action has an identical interface to an attack.  Select the source
  269. country by clicking on it.  Then click on the destination country.  A pop-up
  270. dialog will appear asking you how many armies to move.  If you are satisfied
  271. with the amount (by default all but one), simply hit <Enter> or click on OK.  
  272. If you are not, move the mouse to the edit widget, and edit the number.  When
  273. you are finished hit <Enter> or click on OK.
  274. %%
  275.  
  276. %  Sending Messages
  277. Click on a player in the Message Destination list-box, or on "All Players" to
  278. broadcast the message.  Type in your message in the long message entry widget
  279. above the box that displays messages from the server, and then hit <Enter>.
  280. Your message will be sent immediately.  You could use the feature to send
  281. covert messages, or establish secret alliances!  You could just use it to
  282. insult other players, of course.
  283. %%
  284.  
  285. %Future Enhancements
  286. Look in the file TODO for features/bugfixes in the works.
  287. Look in the file ChangeLog for features implemented/bugs fixed.
  288. There are the enhancements I want to make for version 1.0 (in no real order):
  289.  
  290.     o Computer Players.  Simple player.
  291.  
  292.     o New statistics and logging dialogs.
  293.  
  294.     o New registration dialogs (grabs focus, better color selection).
  295.  
  296.     o Change the scheme of all big dialogs to use message passing only.
  297.  
  298.     o A graphical toolbar with tooltips.
  299.  
  300.     o Save/Load.
  301.  
  302.     o Join Game/Leave Game.
  303.  
  304.     o Restart game (calls for voting protocall).
  305.  
  306.     o Change "Repeat Attack" to "Repeat Action"
  307.  
  308.     o Add game options (distributing countries, missions).
  309.  
  310.     o Dynamic (and optionally persistant) player color editing.
  311.  
  312. There are my longer term goals (version 2.0?), in no particular order:
  313.  
  314.     o Increase the aesthetic value of the game (3D map, new NeXTStep-like
  315.     widgets?).
  316.  
  317.     o Genetic Programming computer player.
  318.  
  319.     o Drag 'n Drop for armies from dice window like MAC-Risk?
  320.  
  321.     o Nicer color selection (color cube (square))?
  322.  
  323.     o Port to Windows 95!
  324.  
  325.     o Menu bar instead of the widgets at the bottom of the screen?
  326.  
  327.     o Make the whole thing better abstracted in terms of OS and GUI.
  328.  
  329.     o Undo feature.
  330.  
  331.     o GUI for server, to pick game options, show statistics?
  332. %%
  333.  
  334.  
  335.  
  336.  
  337.